/* 
 * File:   AreaLight.h
 * Author: brady
 *
 * Created on August 24, 2011, 6:43 PM
 */

#ifndef AREALIGHT_H
#define	AREALIGHT_H

#include <core/StochasticRNG.h>
#include <lights/Light.h>
using namespace std;

class AreaLight : public Light{
public:
    AreaLight();
    AreaLight(const Vector3D& origin, const Vector3D color);
    AreaLight(const AreaLight& orig);
    void setSize(double size){this->size = size;}
    void setOrigin(const Vector3D& origin){this->origin = origin;}
    Vector3D getSamplePoint(const IntersectionResult& result) const;
    virtual ~AreaLight();
private:
    double size;
    Vector3D origin;
    StochasticRNG srng;

};

#endif	/* AREALIGHT_H */

